As more and more business critical applications are being deployed on virtualized, shared infrastructure, there has been a trend towards using clustered network storage systems to improve reliability. In a clustered storage system, two or more cluster nodes are connected in a distributed architecture such that the cluster nodes operate in a coordinated manner to respond to host requests. Each cluster node may be a storage controller, although may be implemented using a distributed architecture. Two or more cluster nodes are typically connected to form a cluster, where each of the cluster nodes in the cluster can communicate with the other cluster nodes in the cluster.
A clustered architecture allows convenient scaling through the addition of more cluster nodes, all capable of communicating with each other. Further, a storage cluster may present a single system image of stored data to hosts and administrators, such that the actual location of data can be made transparent to hosts and administrators. Additionally, to improve efficiency and/or operations of the cluster nodes, one or more cluster nodes may also generate performance and diagnostic related information to further assist in optimizing the cluster nodes and/or debugging any issues of the one or more cluster nodes. However, as the amount of performance and diagnostic related information increase, reliably transferring the generated information becomes a challenge, especially when the amount of generated information may be substantial in size and may require substantial amount of time to transfer. It is with respect to these and other considerations that the present improvements have been needed.